  ---------------------------------------------------------------------------
  - CAEN SDK - Release Notes 
  -
  ---------------------------------------------------------------------------
  -                                Copyright © CaenRfid. All rights reserved.
  ---------------------------------------------------------------------------
  
  Features Flags [used since 4.7.2]
  --------------
  [+] New feature has been added
  [!] Feature has been improved
  [#] Feature has been fixed
  [-] Feature has been removed

---------------------------------------------------------------------------
---------------------------------------------------------------------------
 - Rev.   : 5.0.0
  - Date   : 30/05/2023
  - Author : A. Iavazzo
  - Notes  : 
       29/05/2023   [+]    - Upgraded version for new SDK 5
                    [!] Visual Studio 2022 project update
                    [+] Added inventory functions with SubCommand options.
                    [+] Added MaxQ,MinQ e numMinQ 
                    [+] Added GetReaderInfoLevel, GetFirmwareReleaseLevel methods.
                    [+] Added BlockWriteTagData and BlockProgramID_EPC_C1G2 methods.
                    [+] Added Set and GetReadPointPower methods.
                    [+] Added handling of phase and frequency in inventory functions.
                    [#] Changed description for SetDateTime method.
                    [+] Added Get and SetNetwork methods.
                    [+] Added these airlink profile enumeration values: 
                        DSB_ASK_FM0_TX160RX640, DSB_ASK_M2_TX160RX640, 
                        PR_ASK_FM0_TX66RX426
                    [+] Added RUSSIA and NEW_ZELAND regulations



---------------------------------------------------------------------------
 - Rev.   : 4.8.1
  - Date   : 26/07/2022
  - Author : A. Iavazzo
  - Notes  : 
       26/08/2022   [+] Type of tag is not hardcoded to C1G2 anymore so to let
                        some customizations use other tag type's values.
---------------------------------------------------------------------------
 - Rev.   : 4.8.0
  - Date   : 26/07/2022
  - Author : A. Iavazzo
  - Notes  : 
       26/07/2022   [+] Added new EPC C1G2 feature: inventory sub command.
					
       21/07/2022  [!] Visual Studio 2022 project upgrade!
	
  ---------------------------------------------------------------------------
 - Rev.   : 4.7.3
  - Date   : 10/11/2021
  - Author : A. Iavazzo
  - Notes  : 
       11/10/2021   [#] [CAENRFIDReader.cs, enumerates.cs] Added new link 
                        profile for lepton chips E310 E710: PR_ASK_M2_TX50RX320,
                        PR_ASK_M4_TX50RX250,PR_ASK_M2_TX66RX320,PR_ASK_M8_TX50RX160,
                        PR_ASK_M4_TX50RX320
					
        11/10/2021  [!] Visual Studio 2019 project update
-----------------------------------------------------------------------------



  - Rev.   : 4.7.2*
  - Date   : 2019.xx.xx
  - Author : C.Guidoccio
  - Notes  : working version, not yet released

        26/07/2019  [#] [CAENRFIDLogicalSource, CAENRFIDReader.cs, enumerates] added functions for Stimare (R1175O)
         
        08/04/2019  [#] [CAENRFIDLogicalSource] refactoring of CCMD_EPC_C1G2 functions: added controls on arguments
         
        13/03/2019  [+] [CAENRFIDReader, CAENRFIDLogicalSource, CAENRFIDNotify] added functions for WPERS1170X05

        07/02/2019  [+] [CAENRFIDReader, CAENRFIDLogicalSource, CAENRFIDTag] added functions for NXP_InventoryWithBrandIdentifier

        13/12/2018  [+] updated CAENRFIDRFRegulations for HONG_KONG(17), INDONESIA(18) and ISRAEL(19)

        26/11/2018  [#] fixed error in reconnection [TT100553]
                    [!] [CAENRFIDReader] added numeric code to "@ Communication Error"

        07/11/2018  [#] removed obsolete classes for Trigger, Channel and Receiver
		
        09/10/2018  [+] [CAENRFIDReader, CAENRFIDLogicalSource] added functions for RFMicron MAGNUS S*
                    [#] [CAENRFIDReader] fixed command len in EM4325_SendSPI(*)
                    [+] [CAENRFIDReader, CAENRFIDLogicalSource] added functions for SL900A
					
        ../11/2017  [!] Visual Studio 2017 project update

  --------------------------------------------------------------------------------
  - Rev.   : 4.7.0
  - Date   : 03/10/16
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Upgraded to 4.7.0 for SDK upgrade.
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.6.10
  - Date   : 30/07/16
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --)Added ForceAbort method.
  --)InventoryAbort and Disconnect now launch a timeout exception  when
     InventoryAbort itself doesn't return result code.
  --)Added CMD_SAVE_SETTINGS command constant.
  --)Added DoLogin and DoLogout methods.
  --)Added Untraceable Gen2 command
  --)Added Authenticate Gen2 command.
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.6.9
  - Date   : 30/05/15
  - Author : Andrea Iavazzo
  - Notes  : 
  
  
  --)Deprecated Set/GetLBTMode and replaced with Set/GetFHSSMode.
  --)Added GetBatteryLevel for reader that supports the auto battery level 
     detection (like qID-mini).
  --)Added SL900A_SetLogLimits and GetMeasurementSetup methods.
  --)Changed return packet length of SL900A_GetLogState from 10 to 9 bytes.
  --)Changed the algorythm inside SL900A_GetMesurementSetup and GetLogState methods.
  --)Changed the command code of SetAdminPassword_CMD from 0xaa to 0xac (172).
  --)InventoryAbort now launch CAENRFIDException (communication error) when 
     abort is not sent by the reader within a certain timeout.
  --)Added mamagement methods for Buffered Mode of qID-mini reader: 
     GetBufferedData, GetBufferSize, ClearBuffer.
  --)Added three logical source paramenters for inventory with customized cycle
     sessions: inventory count, dwell time and quite time. Added the relative 
     getters and setters too.
  --)Added Chile Regulation.
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.6.0
  - Date   : 12/01/14
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --)Added SOUTH AFRICA Regulation.
  --)Added port targeting management in the Address parameter of the Connect.
     method when specified a TCP connection type.
  --)Added PrintScreen method for printscreen-compatible reader.
  --)Modified excepted string length in GetReaderInfo.
  --)Deprecated the NXP_ResetReadProtect method with AccessPassword and unde
     precated the one with one password.
  --------------------------------------------------------------------------------
  - Rev.   : 4.5.1
  - Date   : 26/07/14
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Added PERU Regulation.
  --) Added support for MatchRFImpedence command.
  --------------------------------------------------------------------------------
  - Rev.   : 4.5.0
  - Date   : 16/09/13
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Upgraded to 4.5.0 for SDK upgrade.
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.4.2
  - Date   : 27/08/13
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Added two JAPAN regulation STD106 e STD107
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.4.1
  - Date   : 8/07/13
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Fixed Bug on SetTIDLength for max input length.
  --) Added Bank Name enumeration to CAENRFIDTag object
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.4.0
  - Date   : 17/10/12
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Upgraded to 4.4.0 for SDK upgrade.
  --) Changed the InventoryFlag XPC from 128 to 64
  --) Fix problem on Disconnect() that cause deadlock on if called after an 
      inventory continous.
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.3.0
  - Date   : 07/09/12
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --) Added some link profile for reserved future uses.			
  --) Added CAENRFIDLogicalSourceFlag enumeration to make easier the meanings of 
      the bits int the Flag parameter.
  --) Added the PC retrievement in all inventoryTag method.
  --) Added EM4325 Custom commands support
  --) Added IDS SL900A Custom commands support
  --) Added Oridao Custom commands support
  --) Change CAENRFID_TagLockedError 204 with CAENRFID_ReadingTagError, and 
      CAENRFID_TagLockedError changed in 209.
  --) Correct bug on EventInventoryTag when an error occurs without an explicit
      InventoryAbort.
  --) Removed reference to every Windows Form component, improving compact Mono
      wrapping on the dll.
  --) Bug fix on CustomCommands when received only AVPStatus from a custom 
      command without any result data
  --------------------------------------------------------------------------------
  - Rev.   : 4.2.1
  - Date   : 20/02/12
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Added logical source parameter "TID length".
  --) Added logical source method SetTIDLength
  --) Added logical source method GetTIDLength
  
  --------------------------------------------------------------------------------
  
  - Rev.   : 4.2.0
  - Date   : 4/05/11
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Added XPC handling in the InventoryTag methods.
  --) Correct bug in EventInventory, when launched with compact mode flag on, to avoid 
      a potential infinite loop.
  
  --------------------------------------------------------------------------------
  
  - Rev.   : 4.1.0
  - Date   : 22/04/11
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Correct Bug in TID manage in *InventoryTag methods,when TID length.
  --) Added BRAZIL as new regulation
  --) Added A828BT EventTrigger flag handling in EventInventoryTag method.
  --) Added NXP_ChangeConfig (w/wo access password) methods.
  --) Correct some memory leaks bug, during Inventory tags retrieval.
  --) Added DSB_ASK_FM0_TX40RX256 as new Link Profile (bitrate).
  --) Now InventoryAbort() waits correctly on Thread when launched EventInventoryTag().
  --) Now Connect() throws an Exception when reconnect on the same object twice or more.
  
  --------------------------------------------------------------------------------
  - Rev.   : 4.0.0
  - Date   : 01/07/10
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Deprecated channeling class and methods.
  --) Complete factory restyling.
  --------------------------------------------------------------------------------
  
  - Rev.   : 3.5.0
  - Date   : 24/03/10
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Added new signes for following methods to filter tags by bank other than EPC.
  ----) Lock (gen2)
  ----) Kill (gen2)
  --) Added SetAdminPassword method to CAENRFIDReader.
  --) Deprecated SetReaderOption in CAENRFIDReader.
  
  
  --------------------------------------------------------------------------------
  - Rev.   : 3.4.0
  - Date   : 23/03/10
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Added new signes for following methods to filter tags by bank other than EPC.
  ----) Write (gen2)
  
  --------------------------------------------------------------------------------
  - Rev.   : 3.3.0
  - Date   : 22/03/10
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Added new signes for following methods to filter tags by bank other than EPC:
  ----) Read (gen2)
  
  --------------------------------------------------------------------------------
  - Rev.   : 3.2.1
  - Date   : 16/03/10
  - Author : Andrea Iavazzo
  - Notes  : 
  
  --)BUG FIX: Add a catch to a managed thread callback body (generated by CLR), that performs 
     the asynchronus tcp socket reading (BeginRead, EndRead).It fixes a crash made by the
     reader when the Ethernet cable from the reader is disconnected.
  
  --------------------------------------------------------------------------------
  - Rev.   : 3.2.0
  - Date   : 8/03/10
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --) Added new signes for following methods to filter tags by bank other than EPC:
  ----) InventoryTag
  
  --------------------------------------------------------------------------------
  - Rev.   : 3.1.1
  - Date   : 12/01/10
  - Author : Andrea Iavazzo
  - Notes  :
  
  --)Creates ReadLockPermalock() method
  --)Creates BlockLockPermalock() method
  --------------------------------------------------------------------------------
  - Rev.   : 3.1.0
  - Date   : 9/12/09
  - Author : Andrea Iavazzo
  - Notes  : 
  			
  --)Added SINGAPORE in Regulation.
  --)Creates GetChannelStatus() method
  --)Creates GetBufferedCommand() method
  
  --------------------------------------------------------------------------------
  - Rev.   : 2.4.4
  - Date   : 20/11/07
  - Author : Nicola D'Amico
  - Notes  : 
  
  --) BUG-FIX: CAENRFIDReader.ConnectRS232 didn't correctly manage baudrate.
  	
  --------------------------------------------------------------------------------
  - Rev.   : 2.4.3
  - Date   : 17/07/07
  - Author : Nicola D'Amico
  - Notes  :
  
  --) BUG-FIX: run method didn't correctly manage AVP_REPORTBUFFER and ADVANCEDREPORTBUFFER packets
      and now aligned to Java code:
  ----) modified getShortAVP: added ripositioning buffer on exception exit : aligned to Java.
  
  --) Splitted project in two distincted ones: one for Framework 1.1 and one for 2.0. 
      It was necessary due to serial management in CF 2.0:
  ----) 1.1: 
  ------) Introduced wrapper class SerialPort that used class Port (from OpenNETCF) that exposing same methods of SerialPort .NET 2.0
  ----) 2.0:
  ------) Modificata serial management (for problem with CF 2.0): now it use SerialPort class of .NET FrameWork
          (classes OpenNETCF has been deleted from projects).
          Compilation Note: when we pass from 1.1 compilation to 2.0 and viceversa remember to eliminates
  	all the content of obj folder (otherwise compiler can creates some problems)
  --------------------------------------------------------------------------------
  - Rev.   : 2.4.0
  - Date   : 14/02/07
  - Author : Nicola D'Amico
  - Notes  : 
  
  --) Added commands C1G2 in Secure Mode
  --------------------------------------------------------------------------------
  - Rev.   : 2.3.0
  - Date   : 04/10/06
  - Author : Nicola D'Amico
  - Notes  : 
              
  --) Aligned to Java library 2.3
  --------------------------------------------------------------------------------
  - Rev.   : 2.2.3
  - Date   : 13/09/06
  - Author : Nicola D'Amico
  - Notes  :
   
  --) CAENRFIDReader:
  ----) added methods _RFControl(int OnOff): set/reset RF section
  --------------------------------------------------------------------------------
  - Rev.   : 2.2.2
  - Date   : 23/07/06
  - Author : Nicola D'Amico
  - Notes  : 
  
  --) CAENRFIDReader BugFix: 
  ----) CAENRFIDLogicalSource [] Sources: was declared static
  ----) string [] Antenne = {"Ant0","Ant1","Ant2","Ant3"}: wasn't declared static
  --------------------------------------------------------------------------------
  - Rev.   : 2.2.1
  - Date   : 16/05/06
  - Author : Nicola D'Amico
  - Notes  : 
  
  --) Modified definition of CAENRFIDTagEventType.TAG_GLIMPSET in CAENRFIDTagEventType.TAG_GLIMPSED
  --------------------------------------------------------------------------------
  - Rev.   : 2.2.0
  - Date   : 27/04/06
  - Author : Nicola D'Amico
  - Notes  : 
  
  --) Refactoring project : moved sources in com\caen\RFIDLibrary
  --) modified namespace in com.caen.RFIDLibrary
  --------------------------------------------------------------------------------
  - Rev.   : 2.1.2
  - Date   : 18/04/06
  - Author : Nicola D'Amico
  - Notes  : 
  
  --)Added command implementation for:
  ----)G2SETQ_COMMAND                   = 155,
  ----)G2GETQ_COMMAND                   = 156,
  ----)G2QUERYACK_COMMAND               = 157,
  ----)SETLBTMODE_COMMAND               = 159,
  ----)GETLBTMODE_COMMAND               = 160,
  ----)SETRFREGULATION_COMMAND          = 161,
  ----)GETRFREGULATION_COMMAND          = 162,
  ----)SETCHANNEL_COMMAND               = 163,
  ----)GETCHANNEL_COMMAND               = 164,
  
  --) Some modification in string property.
  --) Added protected internal short CAENRFIDReader.IOBuffer.GetPacketLenght() ( Not in Java Library)
  --) BUGFIX: CAENRFIDReceiver: added Sleep on data receiving (!stream.DataAvailable) for Pb. CPU 100%
  --) Added CAENRFIDReader.ConnectRS232 so now can be pass baudrate 
      (to avoid overrun error on reading packets greater than 1KB : decreasing baud rate it works)
  --) Modified CAENRFIDReader.DataProvider RS232 Rx and Tx buffer: takes to 10240 bytes.
  --------------------------------------------------------------------------------
  - Rev.   : 2.1
  - Date   : 07/02/06
  - Author : Nicola D'Amico
  - Notes  : 
  
  --)Added commands to aligne this to Java Library 2.1
  --)LogicalSource: added InventoryTag
  --)enumerates: added CAENRFIDProtocol: CAENRFID_EPC119
  --)CAENRFIDTag: added protected CAENRFIDTag( byte [] Id, CAENRFIDProtocol type, short length, CAENRFIDLogicalSource Source, String ReadPoint)
  --)CAENRFDIReader: added enum Proto, added entry Commands and AVPCommands
  --)added protected internal ArrayList getIDsAVP(CAENRFIDLogicalSource LSource)
  --)Made Obsolete attributes aligned to deprecated java ones.
  --)Minor code modification.
  --------------------------------------------------------------------------------
  - Rev.   : 2.0
  - Date   : 22/11/05
  - Author : Nicola D'Amico
  - Notes  : 
  
  --)CAENRFIDReader class ThreadSafed developed
  --)Aggiunta comando per C1G2 protocol
  --------------------------------------------------------------------------------
  - Rev.   : 1.3
  - Date   : 16/11/05
  - Author : Nicola D'Amico
  - Notes  : 
  
  --)BugFix: Modified serial link connection settings:deleted some flow controls.
  
  --------------------------------------------------------------------------------
  - Rev.   : 1.2
  - Date   : 27/10/05
  - Author : Nicola D'Amico
  - Notes  : First emission
  --------------------------------------------------------------------------------
